Skip to content

feat(pm-venues): add Metaculus + Betfair to API latency and rate-limits benches - #1699

Merged
Flotapponnier merged 1 commit into
devfrom
feat/pm-venues-metaculus-betfair
Jul 29, 2026
Merged

feat(pm-venues): add Metaculus + Betfair to API latency and rate-limits benches#1699
Flotapponnier merged 1 commit into
devfrom
feat/pm-venues-metaculus-betfair

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Summary

  • Metaculus: public forecasting platform, no auth, GET-based. Added to pm-api-latency + pm-rate-limits (price + list classes, ramp 5/10/20 per 10s, conservative)
  • Betfair: UK FCA-regulated exchange, auth required, POST-based Exchange API. Added to pm-api-latency + pm-rate-limits (book + price + list, ramp 10/25/50, stop on 429)
  • Harness changes: added Method/BodyFn to Class struct + RequestMutator to Venue struct so probeOnce handles POST venues — fully backwards-compatible
  • New betfair_auth.go: session management (login → keepalive loop, or pre-supplied token), triggered by BETFAIR_APP_KEY + BETFAIR_USERNAME/PASSWORD or BETFAIR_SESSION_TOKEN
  • venues() now takes Config; Betfair only wired when credentials are present, Metaculus always wired
  • YAMLs: rank_matrix_query, dimensions, metric_panels, providers, per_chain_explainer all updated
  • pm-venue-context.ts: metaculus + betfair added to PM_VENUE_META

Notes

  • Betfair data only appears when Railway env has Betfair creds set. Metaculus starts immediately (public API)
  • Betfair uses binary market (2 runners) with >48h horizon as the pin
  • Metaculus uses open binary question with >24h close_time as the pin

@Flotapponnier
Flotapponnier merged commit 3d0b741 into dev Jul 29, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant